Description
If you use the attribute #TabBarGadget_MultiLine
,
the tabs use multiple rows if they need more space.
The event type #TabBarGadget_EventType_Resize
is sent,
if there was a change in the gadget size.
Example
XIncludeFile "TabBarGadget.pbi"
Enumeration
#Window
#TabBarGadget
#EditorGadget
EndEnumeration
Define Item.i
OpenWindow(#Window, 0, 0, 500, 300, "TabBarGadget", #PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_SizeGadget)
SmartWindowRefresh(#Window, #True)
TabBarGadget(#TabBarGadget, 10, 10, WindowWidth(#Window)-20, #TabBarGadget_DefaultHeight, #TabBarGadget_MultiLine, #Window)
For Item = 1 To 20
AddTabBarGadgetItem(#TabBarGadget, #PB_Default, "tab number "+Str(Item))
Next
EditorGadget(#EditorGadget, 10, GadgetHeight(#TabBarGadget)+10, WindowWidth(#Window)-20, WindowHeight(#Window)-GadgetHeight(#TabBarGadget)-20)
AddGadgetItem(#EditorGadget, #PB_Default, "Any editor gadget with text")
Procedure Callback()
ResizeGadget(#TabBarGadget, #PB_Ignore, #PB_Ignore, WindowWidth(#Window)-20, #PB_Ignore)
UpdateTabBarGadget(#TabBarGadget)
ResizeGadget(#EditorGadget, #PB_Ignore, GadgetHeight(#TabBarGadget)+10, WindowWidth(#Window)-20, WindowHeight(#Window)-GadgetHeight(#TabBarGadget)-20)
EndProcedure
BindEvent(#PB_Event_SizeWindow, @Callback(), #Window)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
Case #PB_Event_Gadget
Select EventGadget()
Case #TabBarGadget
Select EventType()
Case #TabBarGadget_EventType_Resize
ResizeGadget(#EditorGadget, #PB_Ignore, GadgetHeight(#TabBarGadget)+10, #PB_Ignore, WindowHeight(#Window)-GadgetHeight(#TabBarGadget)-20)
EndSelect
EndSelect
EndSelect
ForEver